package jmu.cze.service.impl;

import jmu.cze.mapper.ProductMapper;
import jmu.cze.service.ProductSerivce;
import jmu.cze.vo.Product;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class ProductSerivceImpl implements ProductSerivce{

    private ProductMapper productMapper;

    @Resource(name = "productMapper")
    public void setproductMapper(ProductMapper productMapper) {
        this.productMapper = productMapper;
    }

    /**
     * 更新商品
     * @param product
     * @return 影响数为1->true，否则为false
     */
    public boolean modify(Product product) {
        return productMapper.update(product) == 1;
    }

    /**
     * 新增商品
     * @param product
     * @return 影响数为1->true，否则为false
     */
    public boolean add(Product product) {
        return productMapper.add(product) == 1;
    }

    /**
     * 删除商品
     * @param productID
     * @return 影响数为1->true，否则为false
     */
    public boolean delete(int productID) {
        return productMapper.delelte(productID) == 1;
    }

    /**
     * 按页数获取商品
     * @param page
     * @param limit
     * @return List<Product>
     */
    public List<Product> getProducts(int page, int limit) {
        return productMapper.selectPage((page-1)*limit,limit);
    }

    /**
     * 获取所有商品的数目
     * @return
     */
    public int countAll() {
        return productMapper.countAll();
    }

    /**
     * 按关键字获取商品
     * @param keyword
     * @return List<Product>
     */
    public List<Product> search(String keyword) {
        return productMapper.findByKeyWord("%"+keyword+"%");
    }

    /**
     * 按商品ID获取特定商品
     * @param productID
     * @return Product
     */
    public Product findByID(int productID) {
        return productMapper.findByID(productID);
    }
}
